VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Object = "{753FEE6F-A545-4EAA-AAC8-87512ED29F21}#3.0#0"; "ccrpDtp6.ocx"
Object = "{8D650141-6025-11D1-BC40-0000C042AEC0}#3.0#0"; "ssdw3b32.ocx"
Begin VB.Form frmTurnosUsuarios 
   BackColor       =   &H00FFFFFF&
   BorderStyle     =   1  'Fixed Single
   Caption         =   "Turnos por Usuario"
   ClientHeight    =   7020
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   6885
   Icon            =   "frmTurnosUsuarios.frx":0000
   KeyPreview      =   -1  'True
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MDIChild        =   -1  'True
   MinButton       =   0   'False
   ScaleHeight     =   7020
   ScaleWidth      =   6885
   Begin VB.Frame Frame1 
      BackColor       =   &H00FFFFFF&
      Caption         =   "Fecha"
      Height          =   1335
      Left            =   120
      TabIndex        =   5
      Top             =   360
      Width           =   5175
      Begin VB.ComboBox cmbPor 
         Appearance      =   0  'Flat
         Height          =   315
         ItemData        =   "frmTurnosUsuarios.frx":08CA
         Left            =   840
         List            =   "frmTurnosUsuarios.frx":08D4
         Style           =   2  'Dropdown List
         TabIndex        =   8
         Top             =   840
         Width           =   1815
      End
      Begin CCRPDTP6.ccrpDtp cmbFecDes 
         Height          =   315
         Left            =   840
         TabIndex        =   0
         Top             =   360
         Width           =   1575
         _ExtentX        =   2778
         _ExtentY        =   556
         CustomFormat    =   "dd/MM/yyyy"
         Min             =   36526
         Max             =   219512
         CCRPVer         =   1
         Var             =   "frmTurnosUsuarios.frx":08F8
         XD              =   "frmTurnosUsuarios.frx":092C
         BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
            Name            =   "MS Sans Serif"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Text            =   "13/04/2009"
      End
      Begin CCRPDTP6.ccrpDtp cmbFecHas 
         Height          =   315
         Left            =   3480
         TabIndex        =   1
         Top             =   360
         Width           =   1575
         _ExtentX        =   2778
         _ExtentY        =   556
         CustomFormat    =   "dd/MM/yyyy"
         Min             =   36526
         Max             =   219512
         CCRPVer         =   1
         Var             =   "frmTurnosUsuarios.frx":0988
         XD              =   "frmTurnosUsuarios.frx":09BC
         BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
            Name            =   "MS Sans Serif"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Text            =   "13/04/2009"
      End
      Begin VB.Label Label3 
         BackColor       =   &H00FFFFFF&
         Caption         =   "Por:"
         Height          =   255
         Left            =   120
         TabIndex        =   9
         Top             =   840
         Width           =   495
      End
      Begin VB.Label Label5 
         BackColor       =   &H00FFFFFF&
         Caption         =   "Hasta:"
         Height          =   255
         Left            =   2880
         TabIndex        =   7
         Top             =   360
         Width           =   615
      End
      Begin VB.Label Label2 
         BackColor       =   &H00FFFFFF&
         Caption         =   "Desde:"
         Height          =   255
         Left            =   120
         TabIndex        =   6
         Top             =   360
         Width           =   615
      End
   End
   Begin VB.CommandButton cmdImprimir 
      Appearance      =   0  'Flat
      BackColor       =   &H00FFFFFF&
      Caption         =   "Imprimir"
      Enabled         =   0   'False
      Height          =   390
      Left            =   5520
      MaskColor       =   &H00FFFFFF&
      Style           =   1  'Graphical
      TabIndex        =   2
      Top             =   840
      Width           =   1140
   End
   Begin MSComctlLib.ImageList ImageList1 
      Left            =   2280
      Top             =   0
      _ExtentX        =   1005
      _ExtentY        =   1005
      BackColor       =   -2147483643
      ImageWidth      =   16
      ImageHeight     =   16
      MaskColor       =   12632256
      _Version        =   393216
      BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} 
         NumListImages   =   11
         BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmTurnosUsuarios.frx":0A18
            Key             =   ""
         EndProperty
         BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmTurnosUsuarios.frx":0FB2
            Key             =   ""
         EndProperty
         BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmTurnosUsuarios.frx":154C
            Key             =   ""
         EndProperty
         BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmTurnosUsuarios.frx":1AE6
            Key             =   ""
         EndProperty
         BeginProperty ListImage5 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmTurnosUsuarios.frx":2080
            Key             =   ""
         EndProperty
         BeginProperty ListImage6 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmTurnosUsuarios.frx":261A
            Key             =   ""
         EndProperty
         BeginProperty ListImage7 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmTurnosUsuarios.frx":2BB4
            Key             =   ""
         EndProperty
         BeginProperty ListImage8 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmTurnosUsuarios.frx":314E
            Key             =   ""
         EndProperty
         BeginProperty ListImage9 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmTurnosUsuarios.frx":36E8
            Key             =   ""
         EndProperty
         BeginProperty ListImage10 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmTurnosUsuarios.frx":3C82
            Key             =   ""
         EndProperty
         BeginProperty ListImage11 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmTurnosUsuarios.frx":421C
            Key             =   ""
         EndProperty
      EndProperty
   End
   Begin MSComctlLib.Toolbar Toolbar1 
      Align           =   1  'Align Top
      Height          =   360
      Left            =   0
      TabIndex        =   4
      Top             =   0
      Width           =   6885
      _ExtentX        =   12144
      _ExtentY        =   635
      ButtonWidth     =   609
      ButtonHeight    =   582
      Appearance      =   1
      Style           =   1
      ImageList       =   "ImageList1"
      _Version        =   393216
      BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
         NumButtons      =   6
         BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
            Style           =   3
         EndProperty
         BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
            Key             =   "Aceptar"
            Object.ToolTipText     =   "Aceptar (F5)"
            ImageIndex      =   5
         EndProperty
         BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628} 
            Enabled         =   0   'False
            Key             =   "Cancelar"
            Object.ToolTipText     =   "Cancelar (F8)"
            ImageIndex      =   6
         EndProperty
         BeginProperty Button4 {66833FEA-8583-11D1-B16A-00C0F0283628} 
            Style           =   3
         EndProperty
         BeginProperty Button5 {66833FEA-8583-11D1-B16A-00C0F0283628} 
            Key             =   "Salir"
            Object.ToolTipText     =   "Salir (Esc)"
            ImageIndex      =   11
         EndProperty
         BeginProperty Button6 {66833FEA-8583-11D1-B16A-00C0F0283628} 
            Style           =   3
         EndProperty
      EndProperty
      BorderStyle     =   1
   End
   Begin SSDataWidgets_B.SSDBGrid Grilla 
      Height          =   5055
      Left            =   120
      TabIndex        =   3
      Top             =   1800
      Width           =   6615
      _Version        =   196616
      DataMode        =   2
      Col.Count       =   4
      BevelColorFace  =   16777215
      AllowUpdate     =   0   'False
      RowSelectionStyle=   2
      AllowRowSizing  =   0   'False
      AllowGroupSizing=   0   'False
      AllowGroupMoving=   0   'False
      AllowGroupSwapping=   0   'False
      AllowGroupShrinking=   0   'False
      AllowDragDrop   =   0   'False
      SelectTypeCol   =   0
      SelectTypeRow   =   1
      BackColorEven   =   12648447
      BackColorOdd    =   12640511
      RowHeight       =   423
      Columns.Count   =   4
      Columns(0).Width=   5292
      Columns(0).Caption=   "Usuario"
      Columns(0).Name =   "Usuario"
      Columns(0).CaptionAlignment=   2
      Columns(0).DataField=   "Column 0"
      Columns(0).DataType=   8
      Columns(0).FieldLen=   256
      Columns(1).Width=   1773
      Columns(1).Caption=   "Reservados"
      Columns(1).Name =   "Reservados"
      Columns(1).Alignment=   2
      Columns(1).CaptionAlignment=   2
      Columns(1).DataField=   "Column 1"
      Columns(1).DataType=   8
      Columns(1).FieldLen=   256
      Columns(2).Width=   1773
      Columns(2).Caption=   "Cancelados"
      Columns(2).Name =   "Cancelados"
      Columns(2).Alignment=   2
      Columns(2).CaptionAlignment=   2
      Columns(2).DataField=   "Column 2"
      Columns(2).DataType=   8
      Columns(2).FieldLen=   256
      Columns(3).Width=   1773
      Columns(3).Caption=   "Confirmados"
      Columns(3).Name =   "Confirmados"
      Columns(3).Alignment=   2
      Columns(3).CaptionAlignment=   2
      Columns(3).DataField=   "Column 3"
      Columns(3).DataType=   8
      Columns(3).FieldLen=   256
      _ExtentX        =   11668
      _ExtentY        =   8916
      _StockProps     =   79
      Caption         =   "Turnos"
      BackColor       =   -2147483643
      BeginProperty PageFooterFont {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "MS Sans Serif"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      BeginProperty PageHeaderFont {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "MS Sans Serif"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
   End
End
Attribute VB_Name = "frmTurnosUsuarios"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Dim con As New ConBaseDatos, InfExel As Object

Private Sub cmbFecDes_GotFocus()

cmbFecDes.CalBackColor = &HFFFFC0

End Sub

Private Sub cmbFecDes_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then
    SendKeys "{TAB}"
    KeyAscii = 0
End If

End Sub

Private Sub cmbFecDes_LostFocus()

cmbFecDes.CalBackColor = &H80000005

End Sub

Private Sub cmbFecHas_GotFocus()

cmbFecHas.CalBackColor = &HFFFFC0

End Sub

Private Sub cmbFecHas_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then
    If Control Then Exit Sub
    Imprimir cmbFecDes.Value, cmbFecHas.Value, False
End If

End Sub

Private Sub cmbFecHas_LostFocus()

cmbFecHas.CalBackColor = &H80000005

End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)

Select Case KeyCode
    Case 27 'Escape "Salir"
        If Toolbar1.Buttons(5).Enabled Then Toolbar1_ButtonClick Toolbar1.Buttons(5)
        
    Case 112 'F1 "Ayuta"
        frmPrincipal.manual_Click
        
    Case 116 'F5 "Aceptar"
        If Toolbar1.Buttons(2).Enabled Then Toolbar1_ButtonClick Toolbar1.Buttons(2)
    
    Case 119 'F8 "Cancelar"
        If Toolbar1.Buttons(3).Enabled Then Toolbar1_ButtonClick Toolbar1.Buttons(3)
        
End Select

End Sub

Private Sub Form_Load()

Abrir Me

cmbPor.ListIndex = 0

End Sub

Private Sub Form_Unload(Cancel As Integer)

If Not Toolbar1.Buttons(5).Enabled Then Cancel = True

End Sub

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)

Select Case Button.Key

    Case "Salir"
        Unload Me
    
    Case "Aceptar"
        If Control Then Exit Sub
        Imprimir cmbFecDes.Value, cmbFecHas.Value, False
        
    Case "Cancelar"
        inHabilitar
       
End Select

End Sub

Private Sub inHabilitar()

Toolbar1.Buttons.Item(2).Enabled = True
Toolbar1.Buttons.Item(3).Enabled = False
cmdImprimir.Enabled = False
cmbFecDes.Enabled = True
cmbFecHas.Enabled = True
cmbFecDes.Value = Fecha_Server
cmbFecHas.Value = Fecha_Server
Grilla.RemoveAll
cmbPor.Enabled = True
cmbPor.ListIndex = 0

End Sub

Private Sub Habilitar()

Toolbar1.Buttons.Item(2).Enabled = False
Toolbar1.Buttons.Item(3).Enabled = True
cmdImprimir.Enabled = True
cmbFecDes.Enabled = False
cmbFecHas.Enabled = False
cmbPor.Enabled = False

End Sub

Private Sub cmdImprimir_Click()

Imprimir cmbFecDes.Value, cmbFecHas.Value, True

End Sub

Private Function Control() As Boolean

Control = False
If DateDiff("d", cmbFecDes.Value, cmbFecHas.Value) < 0 Then
    MsgBox "Fecha hasta no puede ser menor a desde", vbCritical, "Error de datos"
    Control = True
    cmbFecHas.SetFocus

ElseIf cmbPor.ListIndex = -1 Then
    MsgBox "Seleccione por fecha", vbCritical, "Error de datos"
    Control = True
    cmbPor.SetFocus
    
End If

End Function

Public Sub Imprimir(diaDesde As Date, diaHasta As Date, Imprime As Boolean)

Dim cParam, i As Integer, dato As String, Linea As Integer
Dim Reservado As Integer, Cancelado As Integer, Confirmado As Integer

If cmbPor.Text = "Fecha Turno" Then
    cParam = Array(cmbFecDes.Value, cmbFecHas.Value)
    con.Registros = con.SPpRetornaRS("SP_TURNOS_POR_USUARIO", cParam)
Else
    cParam = Array(cmbFecDes.Value, cmbFecHas.Value + 1)
    con.Registros = con.SPpRetornaRS("SP_TURNOS_POR_USUARIO_2", cParam)
End If
'Con.AbrirRegistros "SELECT isnull(usuarios.nombre,'zzz_Total') AS usuario,COUNT(turnos.reservado) AS reservado,COUNT(turnos.cancelado) AS cancelado,COUNT(turnos.confirmado) AS confirmado FROM turnos LEFT OUTER JOIN usuarios ON usuarios.usuario = turnos.usuario_reserva WHERE turnos.dia BETWEEN '" & cmbFecDes.Value & "' AND '" & cmbFecHas.Value & "' GROUP BY usuarios.nombre WITH ROLLUP ORDER BY 1", Consulta

Grilla.RemoveAll
If con.Registros.EOF Then
    MsgBox "No hay Turnos en la seleccion actual", vbExclamation, "Turnos"
    inHabilitar
    Exit Sub
End If

'cargo la grilla
Grilla.Redraw = False
Do While Not con.Registros.EOF
    dato = ""
    If con.Registros(0) = "zzz_Total" Then
        Reservado = con.Registros(1)
        Cancelado = con.Registros(2)
        Confirmado = con.Registros(3)
    Else
        For i = 0 To Grilla.Cols - 1
            dato = dato & DesEditar(con.Registros(i)) & vbTab
            DoEvents
        Next i
        Grilla.AddItem dato
    End If
    con.Registros.MoveNext
    DoEvents
Loop
con.CerrarRegistros

'inserto un registro en blanco
dato = ""
For i = 0 To Grilla.Cols - 1
    dato = dato & "" & vbTab
    DoEvents
Next i
Grilla.AddItem dato

'inserto totales
dato = "Totales" & vbTab & Reservado & vbTab & Cancelado & vbTab & Confirmado
Grilla.AddItem dato

Grilla.Redraw = True

'si imprime
If Not Imprime Then
    Habilitar
    Exit Sub
End If

If Not ExisteExcel Then
    MsgBox "Debe estar instalado MS Excel", vbCritical, "Operacion cancelada"
    Exit Sub
End If

Set InfExel = CreateObject("Excel.application")

'Agrega un nuevo Libro
InfExel.Workbooks.Add

'todas las celdas tipo texto
InfExel.Cells.Select
InfExel.Selection.NumberFormat = "@"

'hace que excel se vea
'InfExel.Visible = True

'cabecera
InfExel.Cells(2, 3).Formula = "INFORME TURNOS POR USUARIO"
InfExel.Cells(2, 3).Font.Size = 12

InfExel.Cells(3, 6).Formula = "Fecha:"
InfExel.Cells(3, 6).HorizontalAlignment = -4152
InfExel.Cells(3, 7).Formula = Format(Fecha_Server, "dd/mm/yyyy")
InfExel.Cells(3, 7).HorizontalAlignment = -4131

InfExel.Cells(4, 2).Formula = "Desde:"
InfExel.Cells(4, 2).HorizontalAlignment = -4152
InfExel.Cells(4, 3).Formula = Format(cmbFecDes.Value, "dd/mm/yyyy")
InfExel.Cells(4, 3).HorizontalAlignment = -4131

InfExel.Cells(5, 2).Formula = "Hasta:"
InfExel.Cells(5, 2).HorizontalAlignment = -4152
InfExel.Cells(5, 3).Formula = Format(cmbFecHas.Value, "dd/mm/yyyy")
InfExel.Cells(5, 3).HorizontalAlignment = -4131

InfExel.Cells(5, 6).Formula = "Por:"
InfExel.Cells(5, 6).HorizontalAlignment = -4152
InfExel.Cells(5, 7).Formula = cmbPor.Text
InfExel.Cells(5, 7).HorizontalAlignment = -4131

InfExel.Cells(7, 2).Formula = "Usuario"
InfExel.Cells(7, 5).Formula = "Reservado"
InfExel.Cells(7, 6).Formula = "Cancelado"
InfExel.Cells(7, 7).Formula = "Confirmado"
InfExel.Range("B8:G8").Select
InfExel.Selection.Font.Bold = True
InfExel.Selection.HorizontalAlignment = -4108

'detalle
Grilla.Redraw = False
Linea = 8
Grilla.MoveFirst
For i = 0 To Grilla.Rows - 1
    InfExel.Cells(Linea, 2).Formula = Grilla.Columns(0).CellText(Grilla.Bookmark)
    InfExel.Cells(Linea, 2).HorizontalAlignment = -4131
    
    InfExel.Cells(Linea, 5).Formula = Grilla.Columns(1).CellText(Grilla.Bookmark)
    InfExel.Cells(Linea, 5).HorizontalAlignment = -4152
    
    InfExel.Cells(Linea, 6).Formula = Grilla.Columns(2).CellText(Grilla.Bookmark)
    InfExel.Cells(Linea, 6).HorizontalAlignment = -4152
    
    InfExel.Cells(Linea, 7).Formula = Grilla.Columns(3).CellText(Grilla.Bookmark)
    InfExel.Cells(Linea, 7).HorizontalAlignment = -4152
    
    Grilla.MoveNext
    Linea = Linea + 1
    DoEvents
Next i
Grilla.MoveFirst
Grilla.Redraw = True

InfExel.Range("B" & Linea - 1 & ":G" & Linea - 1).Select
InfExel.Selection.Font.Bold = True

InfExel.Range("A1").Select

'margenes a cero
InfExel.ActiveSheet.PageSetup.LeftMargin = InfExel.Application.InchesToPoints(0)
InfExel.ActiveSheet.PageSetup.RightMargin = InfExel.Application.InchesToPoints(0)
InfExel.ActiveSheet.PageSetup.TopMargin = InfExel.Application.InchesToPoints(0)
InfExel.ActiveSheet.PageSetup.BottomMargin = InfExel.Application.InchesToPoints(0)
InfExel.ActiveSheet.PageSetup.HeaderMargin = InfExel.Application.InchesToPoints(0)
InfExel.ActiveSheet.PageSetup.FooterMargin = InfExel.Application.InchesToPoints(0)

'imprimo el excel directo a la impresora predeterminada
'InfExel.ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

'imprimo el excel en la impresora seleccionada
Load frmImpresora
frmImpresora.Show 1
If ImpresoraSeleccionada <> "" Then
    InfExel.ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
    ImpresoraSeleccionada, Collate:=True
End If

'para que no pregunte si se quiere guardar los cambios
InfExel.ActiveWorkbook.Saved = True

'cierro el excel
InfExel.Workbooks.Close
InfExel.Quit

Set InfExel = Nothing

End Sub

Private Sub cmbPor_GotFocus()

cmbPor.BackColor = &HFFFFC0

End Sub

Private Sub cmbPor_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then
    SendKeys "{TAB}"
    KeyAscii = 0
End If

End Sub

Private Sub cmbPor_LostFocus()

cmbPor.BackColor = &H80000005

End Sub
